package org.mig.java.entities;

import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;

/**
 *
 * @author Hildegard
 */
public class Matricula {

    public static final String PROP_APELLIDOS = "apellidos";
    public static final String PROP_EXPEDIENTE = "expediente";
    public static final String PROP_FECHA = "fecha";
    public static final String PROP_MAIL = "mail";
    public static final String PROP_NIF = "nif";
    public static final String PROP_NOMBRE = "nombre";
    public static final String PROP_TELEFONO = "telefono";

    private String nombre;
    private String apellidos;
    private int expediente;
    private Nif nif;
    private Fecha fecha;
    private int telefono;
    private String mail;
    private final transient PropertyChangeSupport propertyChangeSupport = new java.beans.PropertyChangeSupport(this);

    public Matricula() {
    }

    public Matricula(String nombre, String apellidos, int expediente, Nif nif, Fecha fecha, int telefono, String mail) {
        this.nombre = nombre;
        this.apellidos = apellidos;
        this.expediente = expediente;
        this.nif = nif;
        this.fecha = fecha;
        this.telefono = telefono;
        this.mail = mail;
    }

    public String getApellidos() {
        return apellidos;
    }

    public int getExpediente() {
        return expediente;
    }

    public Fecha getFecha() {
        return fecha;
    }

    public String getMail() {
        return mail;
    }

    public Nif getNif() {
        return nif;
    }

    public String getNombre() {
        return nombre;
    }

    public int getTelefono() {
        return telefono;
    }

    public void setApellidos(String apellidos) {
        java.lang.String oldApellidos = this.apellidos;
        this.apellidos = apellidos;
        propertyChangeSupport.firePropertyChange(PROP_APELLIDOS, oldApellidos, apellidos);
    }

    public void setExpediente(int expediente) {
        int oldExpediente = this.expediente;
        this.expediente = expediente;
        propertyChangeSupport.firePropertyChange(PROP_EXPEDIENTE, oldExpediente, expediente);
    }

    public void setFecha(Fecha fecha) {
        org.mig.java.entities.Fecha oldFecha = this.fecha;
        this.fecha = fecha;
        propertyChangeSupport.firePropertyChange(PROP_FECHA, oldFecha, fecha);
    }

    public void setMail(String mail) {
        java.lang.String oldMail = this.mail;
        this.mail = mail;
        propertyChangeSupport.firePropertyChange(PROP_MAIL, oldMail, mail);
    }

    public void setNif(Nif nif) {
        org.mig.java.entities.Nif oldNif = this.nif;
        this.nif = nif;
        propertyChangeSupport.firePropertyChange(PROP_NIF, oldNif, nif);
    }

    public void setNombre(String nombre) {
        java.lang.String oldNombre = this.nombre;
        this.nombre = nombre;
        propertyChangeSupport.firePropertyChange(PROP_NOMBRE, oldNombre, nombre);
    }

    public void setTelefono(int telefono) {
        int oldTelefono = this.telefono;
        this.telefono = telefono;
        propertyChangeSupport.firePropertyChange(PROP_TELEFONO, oldTelefono, telefono);
    }

    public void addPropertyChangeListener(PropertyChangeListener listener) {
        propertyChangeSupport.addPropertyChangeListener(listener);
    }

    public void removePropertyChangeListener(PropertyChangeListener listener) {
        propertyChangeSupport.removePropertyChangeListener(listener);
    }
}
